package com.wx.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wx.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>Title:      PatientFollowVo. </p>
 * <p>Description 随访 </p>
 * <p>Copyright: Copyright (c) 2016</p>
 * <p>Company:    医百科技有限公司 </p>
 *
 * @author         yangwensheng@100doc.com.cn
 * @since      2021-03-22 10:51:46
 */
@Data
@ApiModel(value = "PatientFollowVo")
public class PatientFollowVo extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 患者id
	 */
	@ApiModelProperty(value = "患者id")
	@NotEmpty(message = "患者id")
	@ExcelIgnore
	private String patientId;

	/**
	 * 随访手册编号
	 */
	@ApiModelProperty(value = "随访手册编号")
	@ExcelProperty(value = "随访手册编号", index = 2)
	@ColumnWidth(value = 25)
	private String followCode;

	/**
	 * 随访内容
	 */
	@ApiModelProperty(value = "随访内容（JSON字符传）")
	@NotEmpty(message = "随访内容")
	@ExcelIgnore
	private String content;

	/**
	 * 随访时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ApiModelProperty(value = "随访时间")
	@ExcelProperty(value = "随访时间", index = 7)
	@ColumnWidth(value = 25)
	private Date followTime;

    /**
     * 状态： 0：未随访 1：已随访
	 */
	@ApiModelProperty(value = "状态： 0：未随访 1：已随访")
	@ExcelIgnore
	private Integer status;

	/**
	 * 类型 0：随访  1：问询
	 */
	@ApiModelProperty(value = "类型 0：随访  1：问询")
	@ExcelIgnore
	private Integer type;

	/**
	 * 患者名称
	 */
	@ApiModelProperty(value = "姓名")
	@ExcelProperty(value = "姓名", index = 0)
	@ColumnWidth(value = 25)
	private String patientName;

	/**
	 * 默认号码
	 */
	@ApiModelProperty(value = "手机号")
	@ExcelProperty(value = "手机号", index = 1)
	@ColumnWidth(value = 25)
	private String phone;

	/**
	 * 备用号码
	 */
	@ApiModelProperty(value = "备用号码")
	@ExcelIgnore
	private String phoneBack;

	/**
	 * 入组时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ApiModelProperty(value = "入组时间")
	@ExcelProperty(value = "入组时间", index = 3)
	@ColumnWidth(value = 25)
	private Date joinTime;

	/**
	 * 脱组时间
	 */
	@ApiModelProperty(value = "脱组时间")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ExcelProperty(value = "脱组时间", index = 4)
	@ColumnWidth(value = 25)
	private Date exitTime;

	/**
	 * 患者头像
	 */
	@ApiModelProperty(value = "患者头像")
	@ExcelIgnore
	private String headImgUrl;

	/**
	 * 范围名称
	 */
	@ApiModelProperty(value = "范围名称")
	@ExcelProperty(value = "所属范围", index = 5)
	@ColumnWidth(value = 25)
	private String rangeName;


	/**
	 * icf编码
	 */
	@ApiModelProperty(value = "icf编码")
	@ExcelIgnore
	private String icfCode;

	/**
	 * 行号
	 */
	@ApiModelProperty(value = "行号")
	@ExcelIgnore
	private Integer rowNumber;

	/**
	 * 问询时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
	@ApiModelProperty(value = "问询时间")
	@ExcelIgnore
	private Date inquiryTime;

	/**
	 * 是否处方 0：否 1：是
	 */
	@ApiModelProperty(value = "是否处方 0：否 1：是")
	@ExcelIgnore
	private Integer prescription;

	@ExcelIgnore
	private String hospitalId;

	@ExcelIgnore
	private String nurseId;

	/**
	 * 所属护士
	 */
	@ApiModelProperty(value = "所属护士")
	@ExcelProperty(value = "所属护士", index = 6)
	@ColumnWidth(value = 25)
	private String nurseName;


	@ExcelIgnore
	private String rangeId;
}
